//package cn.tedu.base.interceptors;
//
///*
//* 该连接器用来接收从jwt校验后得到的newExchange中的userInfo信息
//* 将该拦截强放在common里是因为其他的业务都需要引用这个公共的common
//* 就无需在其他的每个业务中去单独创建一个拦截器用来接收
//* 这个拦截器只是用来接收信息，校验交给网关的jwt，所以这里的请求全放行
//* */
//
//import cn.hutool.core.util.StrUtil;
//import cn.tedu.base.utils.UserContext;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.web.servlet.HandlerInterceptor;
//import org.springframework.web.servlet.ModelAndView;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//@Slf4j
//public class UserInfoInterceptors implements HandlerInterceptor {
//
//    /*
//    * preHandle是在controller之前进行的
//    * */
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        //从请求中获取用户信息
//        String headerUserInfo = request.getHeader("user-info");
//        //判断是否获取到了用户信息
//        if (StrUtil.isNotBlank(headerUserInfo) && StrUtil.isNotEmpty(headerUserInfo)){
//            UserContext.setUserInfo(headerUserInfo);
//        }
//        //放行请求
//        return true;
//    }
//
//    @Override
//    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
//    }
//
//    /*
//    * 在整个流程完成过后需要清除掉 context内存放的用户信息
//    * */
//    @Override
//    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//        //使用UserContext中的方法进行清空
//        UserContext.removeUserInfo();
//    }
//}
